package methoddemo;

/**
 * 某系统的数字密码（大于0）。比如1983，采用加密方式进行传输，
 * 规则如下：
 * 每位数加上5
 * 再对10求余
 * 最后将所有数字反转
 * 得到一串新数
 * 按照以上规则进行解密
 * 比如1983，加密后变成8346，解密后变成1983
 */
public class methodTest14 {
    public static void main(String[] args) {
        int[] arr = {8, 3, 4, 6};
        //分析
        //1.先将数组中的数据反转
        for (int i = 0, j = arr.length - 1; i < j; i++, j--) {
            int temp = arr[i];
            arr[i] = arr[j];
            arr[j] = temp;

        }
        //2.如果数组中的元素>0且<5,则加10
        //若大于5，则不变
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] > 0 && arr[i] < 5) {
                arr[i] = arr[i] + 10;
            }

        }

        //3.数组中每个元素-5
        for (int i = 0; i < arr.length; i++) {
            arr[i] = arr[i] - 5;
        }

        //循环结束后，数组中的数据即为加密前的数据
        int number = 0;
        for (int i = 0; i < arr.length; i++) {
            number = number * 10 + arr[i];
        }

        System.out.println("加密前的数据为" + number);
    }
}
